home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PRINTER / JETPAK11.ARJ / JETPAK11.DOC < prev    next >
Text File  |  1991-08-05  |  38KB  |  931 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                    JETPAK
  11.  
  12.                   DeskJet and LaserJet Printer Utilities
  13.  
  14.  
  15.  
  16.                                      by
  17.  
  18.                                Ross Beresford
  19.  
  20.  
  21.  
  22.                          Version 1.1 (Public Domain)
  23.  
  24.                               4th August 1991
  25.  
  26.  
  27.         CONTENTS
  28.         --------
  29.  
  30.             1. JETL2D - Convert LaserJet font files to DeskJet format
  31.             2. JETD2L - Convert DeskJet font files to LaserJet format
  32.             3. JETPRINT - Print soft font file summary sheets
  33.             4. JETPRD - Output Printer Description files for soft fonts
  34.             5. JETDMP - Dump symbolic listings for soft fonts
  35.             6. JETRST - Restore soft font files from symbolic listings
  36.  
  37.             Appendix A. Error Messages
  38.             Appendix B. Catalogue of Successfully Converted Fonts
  39.             Appendix C. Acknowledgments
  40.             Appendix D. JETPAK Release History
  41.  
  42.  
  43.  
  44.         INTRODUCTION
  45.         ------------
  46.  
  47.         The JETPAK package contains HP LaserJet and DeskJet soft font
  48.         converters and associated utilities:
  49.  
  50.           JETL2D converts both portrait and landscape format LaserJet
  51.           soft fonts to DeskJet format; in sizes up to the limits of
  52.           the target DeskJet series printer.
  53.  
  54.           JETD2L converts DeskJet soft fonts back into LaserJet
  55.           format.
  56.  
  57.         The other utilities can be used with both LaserJet and DeskJet
  58.         format soft fonts:
  59.  
  60.           A font summary sheet utility, JETPRINT, prints a chart of
  61.           the character set and some sample text for a soft font.
  62.  
  63.           JETPRD, a printer description file utility, generates a file
  64.           containing the information required by word processors to
  65.           select and justify a soft font.
  66.  
  67.           The JETDMP utility can be used to dump a soft font to a text
  68.           file which can subsequently be restored using JETRST; with a
  69.           text editor, these utilities allow you to examine and modify
  70.           a soft font.
  71.  
  72.         Some of the above utilities may not be provided on some
  73.         platforms.
  74.  
  75.  
  76.         The following sections describe the utilities in general
  77.         terms: usage information specific to the hardware platform can
  78.         be found in a separate document.
  79.  
  80.  
  81.         Miscellaneous information not related to any particular
  82.         utility can be found in Appendices at the end of the document.
  83.  
  84.  
  85.         1. JETL2D - Convert LaserJet font files to DeskJet format
  86.            ======================================================
  87.  
  88.  
  89.         This program reads in LaserJet format soft font files,
  90.         converts the header information and bitmaps, and outputs soft
  91.         font files in the format used by DeskJet series printers.
  92.  
  93.  
  94.         To use soft fonts on a DeskJet you must have a RAM cartridge
  95.         installed in the printer. Unexpanded DeskJet printers do not
  96.         support soft fonts.
  97.  
  98.         To print using the fonts, you must "download" them first. HP
  99.         include a downloader utility with the soft fonts you can buy
  100.         from them; there are also several non-commercial equivalents
  101.         you could use: for example, Elfring Soft Fonts' DOWNLOAD
  102.         program.
  103.  
  104.  
  105.         JETL2D can process soft fonts up to the limits of the DeskJet
  106.         printers themselves:
  107.  
  108.           The DeskJet Plus and DeskJet 500 support portrait soft fonts
  109.           up to about 36 point, though they can go higher with narrow
  110.           fonts; landscape fonts (fixed spacing only) up to 6 pitch
  111.           are supported. The JETL2D program prints an error message
  112.           and stops the conversion if the output font wouldn't work on
  113.           a DeskJet Plus or DeskJet 500.
  114.  
  115.           The original DeskJet printer supports portrait soft fonts up
  116.           to about 14 point; landscape soft fonts are not supported.
  117.           The JETL2D program prints a warning message if the output
  118.           font won't work on an original DeskJet printer.
  119.  
  120.  
  121.         Appendix A gives all the error messages that may be produced
  122.         by this program and explains them in detail.
  123.  
  124.         Appendix B lists all the freely available LaserJet soft fonts
  125.         that have been successfully converted to DeskJet format using
  126.         JETL2D version 1.1.
  127.  
  128.  
  129.         JETL2D includes two options which allow the user some control
  130.         over the translation process:
  131.  
  132.            -o   The old DeskJet option: by default, JETL2D creates
  133.                 soft fonts for the DeskJet 500 only. If you have an
  134.                 original DeskJet or a DeskJet Plus printer, you must
  135.                 specify this option.
  136.  
  137.            -j   The jaggy option: by default, JETL2D "optimises" the
  138.                 bitmap for each character as it is converted. You can
  139.                 specify this option if you wish to disable the bitmap
  140.                 optimisation.
  141.  
  142.         The following sections describe the effect of these two
  143.         options in more detail:
  144.  
  145.  
  146.         1.1 Old DeskJet Option [-o]:
  147.  
  148.         One of the enhancements in the DeskJet 500 was the support for
  149.         kerned fonts: that is, the left and right side bearings for a
  150.         character can be negative in a DeskJet 500 font.
  151.  
  152.         Every character in a font has both a left and a right side
  153.         bearing associated with it that is dependent on the overall
  154.         shape of the character.
  155.  
  156.         The left and right side bearings for a character determine how
  157.         much space is placed between it and the characters to its left
  158.         and right.
  159.  
  160.         Negative side bearings are used with characters that have long
  161.         serifs or tails: these characters are designed to overlap with
  162.         their neighbours, so that there is no ugly space left between
  163.         the characters of a word.
  164.  
  165.         Because of the technology used in the old DeskJet models,
  166.         bitmaps could not overlap and no negative side bearing was
  167.         allowed. Oblique fonts, such as Italic and Chancery, look far
  168.         too spaced out when printed with an old model DeskJet.
  169.  
  170.         In DeskJet 500 format soft fonts, negative side bearings can
  171.         be specified for characters. On the DeskJet 500, oblique fonts
  172.         can be made to appear correctly spaced out.
  173.  
  174.         By default, JETL2D creates a DeskJet 500 format soft font and
  175.         copies over any negative side bearings specified in the
  176.         LaserJet font.
  177.  
  178.         If the [-o] option is specified, JETL2D creates an old DeskJet
  179.         format soft font and discards any negative side bearings
  180.         specified in the LaserJet font. A warning message is printed,
  181.         giving the largest negative side bearing(s) discarded.
  182.  
  183.  
  184.         1.2 Jaggy Option [-j]:
  185.  
  186.         The LaserJet printer bitmaps are based on a 300x300 dot per
  187.         inch bitmap; the DeskJet bitmaps are based on 600x300 dots per
  188.         inch, but with a rule that horizontally adjacent bits may not
  189.         both be set.
  190.  
  191.         In other words, to convert the bitmap, you need to selectively
  192.         add one zero bit for every bit of the LaserJet bitmap.
  193.  
  194.     When the [-j] option is specified, the conversion program
  195.     takes the simple approach of inserting a column of zero bits
  196.     between each column of the LaserJet bitmap. For diagonal
  197.     lines, this will produce a more jaggy line in the converted
  198.     bitmap than is technically possible:
  199.  
  200.  
  201.           ....@@@@         ........@.@.@.@         .........@.@.@.@
  202.           ....@@@@         ........@.@.@.@         ........@.@.@.@.
  203.           ...@@@@.         ......@.@.@.@..         .......@.@.@.@..
  204.           ...@@@@.         ......@.@.@.@..         ......@.@.@.@...
  205.           ..@@@@..         ....@.@.@.@....         .....@.@.@.@....
  206.           ..@@@@..         ....@.@.@.@....         ....@.@.@.@.....
  207.           .@@@@...         ..@.@.@.@......         ...@.@.@.@......
  208.           .@@@@...         ..@.@.@.@......         ..@.@.@.@.......
  209.           @@@@....         @.@.@.@........         .@.@.@.@........
  210.           @@@@....         @.@.@.@........         @.@.@.@.........
  211.  
  212.           LaserJet         Converted DeskJet       Perfect DeskJet
  213.  
  214.  
  215.         Since the jagginess is caused by differences of 1/600" in dot
  216.         placement, it is quite hard to spot unless you are looking for
  217.         it. The effect is most noticeable on fonts which have straight
  218.         oblique lines, such as an italic variant of a Sans Serif font.
  219.  
  220.         The problem may be hidden in the overall fuzziness of DeskJet
  221.         output, particular if you are using paper where the ink
  222.         "bleeds" significantly. Even when this is the case, the poor
  223.         dot placement is contributing to the low quality output.
  224.  
  225.  
  226.         If the [-j] option isn't specified, JETL2D attempts to smooth
  227.         out the edges of the bitmap using the following algorithm.
  228.  
  229.         The edges of the character shape are identified and collected
  230.         into closed polygons. Sections of the polygon having "near
  231.         vertical" slope are identified and smoothed out.
  232.  
  233.         A section with near vertical slope comprises a vertical edge
  234.         (V1) separated by two 1 bit wide horizontal edges; the
  235.         separating horizontal edges must be of the same type, ie both
  236.         top edges or both bottom edges.
  237.  
  238.         The following four simple cases of near vertical slope are
  239.         possible:
  240.  
  241.                    @@@@@     @@@@@      @@@..       ..@@@
  242.              V2 -> @@@@@     @@@@@      @@@..       ..@@@
  243.                    @@@@@     @@@@@      @@@..       ..@@@
  244.                    @@@@@     @@@@@      @@@..       ..@@@
  245.                    .@@@@     @@@@.      @@@@.       .@@@@
  246.                    .@@@@     @@@@.      @@@@.       .@@@@
  247.              V1 -> .@@@@     @@@@.      @@@@.       .@@@@
  248.                    .@@@@     @@@@.      @@@@.       .@@@@
  249.                    ..@@@     @@@..      @@@@@       @@@@@
  250.                    ..@@@     @@@..      @@@@@       @@@@@
  251.              V3 -> ..@@@     @@@..      @@@@@       @@@@@
  252.                    ..@@@     @@@..      @@@@@       @@@@@
  253.  
  254.                     NW        SW         SE          NE
  255.  
  256.         The smoothing algorithm splits the vertical edge (V1) at the
  257.         centre of the section into two halves, shifting one half to
  258.         the left or right to smooth out the slope.
  259.  
  260.         Vertical edges that continue the near vertical section to
  261.         either side are treated in an analogous way (this is NOT the
  262.         case in the simple example above).
  263.  
  264.         If the centre vertical edge (V1) is surrounded by vertical
  265.         edges that do not continue the near vertical section, then the
  266.         slope implied by the adjacent near vertical section is
  267.         extended into the surrounding vertical edges, where possible.
  268.  
  269.         This is the case in the example above, where V2 and V3 do not
  270.         continue the near vertical section, so that the slope implied
  271.         by edge V1 is extended into V2 and V3.
  272.  
  273.         The following shows how the example being considered is
  274.         smoothed out:
  275.  
  276.           @.@.@.@.@......@.@.@.@..@......@.@.@................@..@
  277.           @.@.@.@.@......@.@.@.@..@......@.@.@................@..@
  278.           .@.@.@..@......@.@.@.@.@.......@.@..@..............@.@.@
  279.           .@.@.@..@......@.@.@.@.@.......@.@..@..............@.@.@
  280.           ..@.@.@.@......@.@.@..@........@.@.@.@............@.@..@
  281.           ..@.@.@.@......@.@.@..@........@.@.@.@............@.@..@
  282.           ...@.@..@......@.@.@.@.........@.@.@..@..........@.@.@.@
  283.           ...@.@..@......@.@.@.@.........@.@.@..@..........@.@.@.@
  284.           ....@.@.@......@.@..@..........@.@.@.@.@........@.@.@..@
  285.           ....@.@.@......@.@..@..........@.@.@.@.@........@.@.@..@
  286.           .....@..@......@.@.@...........@.@.@.@..@......@.@.@.@.@
  287.           .....@..@......@.@.@...........@.@.@.@..@......@.@.@.@.@
  288.  
  289.         Note that the smoothing algorithm occasionally leaves two
  290.         adjacent clear bits in the body of the character. This is
  291.         sometimes necessary in order to avoid two horizontally
  292.         adjacent set bits; the printed character does not have a
  293.         visible gap, as the surrounding ink dots are large enough to
  294.         coalesce into the space.
  295.  
  296.         The disadvantage of the bitmap smoothing algorithm is that an
  297.         optimised DeskJet font is between 10% and 20% larger than an
  298.         unoptimised font.
  299.  
  300.         If you have an original DeskJet printer, the increased size of
  301.         the output font may make it unusable; in this case, the [-j]
  302.         option should be specified to reduce the output font size as
  303.         much as possible.
  304.  
  305.  
  306.         2. JETD2L - Convert DeskJet font files to LaserJet format
  307.            ======================================================
  308.  
  309.  
  310.         This program reads in DeskJet format soft font files,
  311.         converts the header information and bitmaps, and outputs soft
  312.         font files in the format used by LaserJet series printers.
  313.  
  314.  
  315.         This program is only intended for the occasional conversion of
  316.         DeskJet to LaserJet fonts: most users want to translate fonts
  317.         the other way.
  318.  
  319.         Because this program will be used very seldom, it was made as
  320.         simple as possible: it has a number of deficiencies which are
  321.         easily worked around using LaserJet font editing tools:
  322.  
  323.  
  324.         Firstly, characters in DeskJet soft fonts frequently use a
  325.         much larger cell size than is actually needed to contain the
  326.         set bits of the character.
  327.  
  328.         When JETD2L converts the DeskJet character bitmaps to LaserJet
  329.         format, it makes no attempt to minimise the size of the output
  330.         bitmaps; thus, the size of the LaserJet soft font file can be
  331.         much larger than it really needs to be.
  332.  
  333.         There are several freely available tools that can be used to
  334.         clean up the LaserJet font once it has been created in
  335.         LaserJet format.
  336.  
  337.  
  338.         Secondly, DeskJet soft fonts that exploit the full 600x300
  339.         bitmap, may have two adjacent clear bits in the body of the
  340.         character bitmap: these may map into a clear bit in the
  341.         middle of the LaserJet character bitmap.
  342.  
  343.         If this occurs, then it will be necessary to use a font editor
  344.         to fill in the "holes" in the character, once the font has
  345.         been created in LaserJet format. There are several freely
  346.         available font editors that could be used to do this.
  347.  
  348.  
  349.  
  350.         3. JETPRINT - Print soft font file summary sheets
  351.            ==============================================
  352.  
  353.  
  354.         This program prints summary sheets for soft font files.
  355.         Typographical information about the font, a complete chart of
  356.         the character set, and a sample of normal text are included in
  357.         the output.
  358.  
  359.         JETPRINT also gives the escape sequence required to select the
  360.         soft font as the primary font in the printer. Note that in the
  361.         printed escape sequence string, "Ec" represents the escape
  362.         character.
  363.  
  364.         JETPRINT can be used immediately after a soft font has been
  365.         converted using JETL2D as a quick check that the appearance of
  366.         the font is acceptable, and to keep a record of the converted
  367.         font.
  368.  
  369.  
  370.         JETPRINT should work with both DeskJet and LaserJet format
  371.         soft fonts and printers.
  372.  
  373.         However, JETPRINT downloads the soft font directly, without
  374.         doing a conversion. So only use it to print LaserJet soft
  375.         fonts on a LaserJet, and DeskJet soft fonts on a DeskJet!
  376.  
  377.  
  378.         Appendix A gives all the error messages that may be produced
  379.         by this program and explains them in detail.
  380.  
  381.  
  382.         4. JETPRD - Output Printer Description files for soft fonts
  383.            ========================================================
  384.  
  385.  
  386.         This program produces a generic printer description file for a
  387.         font, including all the information required by word
  388.         processors to select and justify the font.
  389.  
  390.         The format of the file is not that used by any of the standard
  391.         word processors; however, the straightforward layout of the
  392.         file should allow the information to be converted to whatever
  393.         format is required, either manually or using a simple
  394.         conversion program.
  395.  
  396.         JETPRD works with both DeskJet and LaserJet format soft fonts;
  397.         the printer description file output format is the same for
  398.         both types of font.
  399.  
  400.  
  401.         The first line in the file is the escape sequence required to
  402.         unambiguously select the font, expressed in decimal. Each of
  403.         the remaining lines in the file gives a character code in
  404.         decimal, and its escapement width in 1/300s of an inch (the
  405.         width of the character used in deciding how to justify a line
  406.         of text).
  407.  
  408.         The following example is taken from an 8 point font:
  409.  
  410.  
  411.     +---- Escape sequence required to select the font
  412.     |
  413.     |
  414.     +-> 27,38,108,48,79,27,40,53,77,27,40,115,49,112,56,118,48,115,48,98,53,84
  415.         32=10
  416.         33=11
  417.         34=20   <-- Escapement for character 34 (") is 20/300 inch
  418.  
  419.          ...
  420.          ...
  421.  
  422.         252=24
  423.         253=24
  424.         254=24  <-- Escapement for character 254 is 24/300 inch
  425.  
  426.  
  427.         Appendix A gives all the error messages that may be produced
  428.         by this program and explains them in detail.
  429.  
  430.  
  431.         5. JETDMP - Dump symbolic listings for soft fonts
  432.            ==============================================
  433.  
  434.  
  435.         This program generates a symbolic listing of the contents of a
  436.         soft font file. It gives much more detailed information about
  437.         the font than JETPRINT, and outputs to a file rather than the
  438.         printer.
  439.  
  440.         The dump files produced by JETDMP contain all the information
  441.         in the soft font in a viewable and editable form. Together
  442.         with JETRST, this provides a means of editing soft fonts.
  443.  
  444.         JETDMP works with both DeskJet and LaserJet format soft fonts.
  445.  
  446.  
  447.         The ability to edit files using JETDMP and JETRST is more
  448.         important for DeskJet users: there are several freely
  449.         available interactive font editors (for example, QFONT) that
  450.         allow you easily modify LaserJet fonts: to my knowledge, none
  451.         support the DeskJet format, however.
  452.  
  453.  
  454.         Appendix A gives all the error messages that may be produced
  455.         by this program and explains them in detail.
  456.  
  457.  
  458.         6. JETRST - Restore soft font files from symbolic listings
  459.            =======================================================
  460.  
  461.  
  462.         This program is a compiler for the dump files generated by
  463.         JETDMP and can restore a soft font file from the information
  464.         contained in the dump.
  465.  
  466.         Since absolutely all the font data is included in the dump
  467.         file, it allows someone with knowledge about the font format
  468.         complete freedom to make changes to the font data.
  469.  
  470.         Dump file records are introduced by keywords, which start with
  471.         $. The order of records is significant and shouldn't be
  472.         changed.
  473.  
  474.         The layout within records is flexible and token based: tokens
  475.         can be separated by space, tab, new-line or form feed;
  476.         comments are introduced by # and extend to the end of the
  477.         line.
  478.  
  479.         All numeric data is expressed in decimal; in bitmaps, the '@'
  480.         character denotes a set bit and any other non-white-space
  481.         character is assumed to be a clear bit.
  482.  
  483.  
  484.         Appendix A gives all the error messages that may be produced
  485.         by this program and explains them in detail.
  486.  
  487.  
  488.  
  489.         Appendix A. Error Messages
  490.         --------------------------
  491.  
  492.         The utilities can print two types of messages:
  493.  
  494.           WARNING messages are informational, and the output file will
  495.           still be valid provided there are no ERROR type messages.
  496.  
  497.           ERROR messages cause the program to abandon processing of an
  498.           input file: any output file produced will not be valid.
  499.           However, the program will continue processing with the next
  500.           input file.
  501.  
  502.  
  503.         The following error messages may appear when the programs
  504.         start up, before any files have been processed:
  505.  
  506.  
  507.           ERROR: no files found matching <parameter>
  508.  
  509.             This message is produced on platforms where the JETPAK
  510.             programs do wildcard expansion internally (such as on
  511.             MS-DOS). It indicates that the search for files matching
  512.             the <parameter> failed.
  513.  
  514.  
  515.           ERROR: not enough heap to process arguments
  516.  
  517.             This message may be produced if the program runs out of
  518.             heap space while processing the command line. It is
  519.             unlikely to occur, but if it does, try reducing the number
  520.             of files to be processed.
  521.  
  522.  
  523.         The following messages relate to the processing of an
  524.         individual file: messages are preceded by the name of the file
  525.         that was being processed when the error occurred:
  526.  
  527.  
  528.           ERROR: bitmap too big to handle
  529.           ERROR: font too big to handle
  530.  
  531.             One of these will occur for fonts that are too large to be
  532.             used on the DeskJet. For proportional orientation, the
  533.             limit is around 40 point, depending on the width of the font;
  534.             for landscape orientation the program rejects fonts bigger
  535.             than 6 pitch.
  536.  
  537.             This error may also be produced if the source font is
  538.             corrupted or inconsistent.
  539.  
  540.  
  541.           ERROR: character code <code> too big to handle
  542.  
  543.             This error will occur if a character code larger than 255
  544.             is included in the source font: the font converters cannot
  545.             process a font with codes larger than 255.
  546.  
  547.  
  548.           ERROR: font contains continuation data
  549.  
  550.             This error will occur if a LaserJet soft font includes
  551.             continuation data: JETL2D cannot process a LaserJet font
  552.             which includes continuation data.
  553.  
  554.  
  555.           ERROR: missing data at line <line>
  556.  
  557.             This message is printed by JETRST if it finds a record or
  558.             end of file when it was expecting to find some more data.
  559.             Check the syntax of the file at <line>.
  560.  
  561.  
  562.           ERROR: input file is already in DeskJet format
  563.  
  564.             JETL2D prints this message if the input soft font file is
  565.             in DeskJet format, and therefore doesn't need to be
  566.             converted.
  567.  
  568.  
  569.       ERROR: input file is already in LaserJet format
  570.  
  571.         JETD2L prints this message if the input soft font file is
  572.         in LaserJet format, and therefore doesn't need to be
  573.             converted.
  574.  
  575.  
  576.           ERROR: problem reading input file
  577.  
  578.             This message is printed when the input file is not of the
  579.             expected type: utilities that process soft font files
  580.             print this if they cannot read valid soft font data;
  581.             JETRST prints this if it fails to find any valid dump
  582.             data.
  583.  
  584.  
  585.           ERROR: problem writing output file
  586.  
  587.             This error message will occur if there's some fatal
  588.             problem writing the output file to disk, such as the file
  589.             system filling up.
  590.  
  591.  
  592.           ERROR: missing keyword at line <line>
  593.  
  594.             This message is printed by JETRST if it finds data or end
  595.             of file when it was expecting to find a keyword. Check the
  596.             syntax of the file at <line>.
  597.  
  598.  
  599.           ERROR: not enough heap to process font
  600.  
  601.             This message will occur if the font converters run out of
  602.             heap while processing the character data. If this happens,
  603.             make some more memory available, then try converting the
  604.             font again.
  605.  
  606.  
  607.           ERROR: only fixed width landscape fonts convertible
  608.  
  609.             This message is printed by JETL2D if you try to convert
  610.             proportional spacing landscape fonts. Only fixed spacing
  611.             landscape fonts are supported on the DeskJet.
  612.  
  613.  
  614.           ERROR: can't open for reading
  615.  
  616.             On platforms where JETPAK does no wildcard matching this
  617.             message may be produced if a file specified on the command
  618.             line does not exist, or doesn't have read permissions.
  619.  
  620.  
  621.           ERROR: can't open <file> for writing
  622.  
  623.             This message may appear if the output file cannot be
  624.             opened because the file system is full, or because <file>
  625.             exists, but does not have permissions to be overwritten.
  626.  
  627.  
  628.           ERROR: output file will overwrite input file
  629.  
  630.             This message is produced when a program detects that its
  631.             output file will overwrite its input file - a situation
  632.             that isn't handled.
  633.  
  634.  
  635.           WARNING: unrecognised font format
  636.  
  637.             This message is produced when the input header data is
  638.             in a format other than LaserJet or DeskJet. JETPAK is not
  639.             programmed to handle this situation. Rather than reject
  640.             the input file, the program will carry on, assuming
  641.             LaserJet format.
  642.  
  643.             More serious errors may appear later, and the output file
  644.             may not be valid.
  645.  
  646.  
  647.           WARNING: unrecognised character format
  648.  
  649.             This message is produced when the input character data is
  650.             in a format other than LaserJet or DeskJet. JETPAK is not
  651.             programmed to handle this situation. Rather than reject
  652.             the input file, the program will carry on, assuming
  653.             LaserJet format.
  654.  
  655.             More serious errors may appear later, and the output file
  656.             may not be valid.
  657.  
  658.  
  659.           WARNING: skipping ESC <c> <n> <c>
  660.  
  661.         You will get this when the soft font file includes printer
  662.             escape sequences that are not relevant to the font itself.
  663.         A very few soft fonts embed escape sequences, so that the
  664.         font file can be copied straight to the printer without
  665.             using a downloader.
  666.  
  667.  
  668.           WARNING: landscape font unusable on original Deskjet
  669.  
  670.             JETL2D prints this message when it creates a soft font in
  671.             landscape format, which cannot be used on the original
  672.             DeskJet printer. If you have a DeskJet PLUS or DeskJet
  673.             500, you can ignore this message.
  674.  
  675.  
  676.           WARNING: output font too large for original Deskjet
  677.  
  678.             JETL2D prints this message when it creates a soft font
  679.             that is too big to be used with the original DeskJet
  680.             printer. If you have a DeskJet PLUS or DeskJet 500, you
  681.             can ignore this message.
  682.  
  683.  
  684.       WARNING: output font can only be used on the DeskJet 500
  685.  
  686.         JETL2D will always print this message if the -o option is
  687.             omitted, as a reminder that the output font will be
  688.         unusable on the DeskJet and DeskJet Plus.
  689.  
  690.  
  691.           WARNING: <side> negative side bearing lost (<n> for <c> worst)
  692.  
  693.             JETL2D prints up to two of these messages (for left and
  694.             right <side>) when it has to throw away negative side
  695.             bearing in a font.
  696.  
  697.  
  698.           WARNING: string not terminated at end of line <line>
  699.  
  700.             This message is printed by JETRST when string data is not
  701.             terminated at the end of a line. Check that you intended
  702.             to include a new line in the string at <line>.
  703.  
  704.  
  705.           WARNING: token overflow at line <line>
  706.  
  707.             JETRST prints this message when it runs out of space
  708.             reading in a token from the dump file. Usually this will
  709.             be caused by some disaster, such as missing a quote from
  710.             the end of a string. Check the syntax at and preceding
  711.             <line>.
  712.  
  713.         Appendix B. Catalogue of Successfully Converted Fonts
  714.         -----------------------------------------------------
  715.  
  716.         The following freely available LaserJet soft fonts were all
  717.         successfully converted during JETL2D testing.
  718.  
  719.         The fixed spacing fonts marked with a (*) were converted in
  720.         the original portrait orientation, and as landscape fonts
  721.         after being rotated by QFONT.
  722.  
  723.         Archive         Font file       Description
  724.  
  725.         AVANT
  726.                         agwn3008.sfp    8 point Avant Garde
  727.                         agwn3010.sfp    10 point Avant Garde
  728.                         agwn3012.sfp    12 point Avant Garde
  729.                         agwn3014.sfp    14 point Avant Garde
  730.                         agwn3018.sfp    18 point Avant Garde
  731.                         agwn3024.sfp    24 point Avant Garde
  732.                         agwi3008.sfp    8 point Avant Garde italic
  733.                         agwi3010.sfp    10 point Avant Garde italic
  734.                         agwi3012.sfp    12 point Avant Garde italic
  735.                         agwi3014.sfp    14 point Avant Garde italic
  736.                         agwi3018.sfp    18 point Avant Garde italic
  737.                         agwi3024.sfp    24 point Avant Garde italic
  738.  
  739.         CALLIG14        callig14.usp    19 point Calligraphic
  740.  
  741.         CENGLX          cen08rb0.usp    8 point Century Schoolbook
  742.                         cen10rb0.usp    10 point Century Schoolbook
  743.                         cen10bb5.usp    10 point Century Schoolbook bold
  744.                         cen10ib0.usp    10 point Century Schoolbook italic
  745.                         cen12rb0.usp    12 point Century Schoolbook
  746.                         cen12bb5.usp    12 point Century Schoolbook bold
  747.                         cen12ib0.usp    12 point Century Schoolbook italic
  748.                         cen18rb0.usp    18 point Century Schoolbook
  749.                         cen24rb0.usp    24 point Century Schoolbook
  750.  
  751.         GARGLX          gar12rb0.usp    12 point Garamond
  752.                         gar12bb5.usp    12 point Garamond bold
  753.                         gar12ib0.usp    12 point Garamond italic
  754.                         gar18rb0.usp    18 point Garamond
  755.                         gar24rb0.usp    24 point Garamond
  756.                         gar30rb0.usp    30 point Garamond
  757.  
  758.         HP2FONTS    (*) co060r20.pcp    20 pitch Courier
  759.                         co240r05.pcp    5 pitch Courier
  760.                     (*) or150r10.pcp    10 pitch Orator
  761.                     (*) sc100r12.pcp    12 pitch Script
  762.  
  763.         HPLASER         sc18r#us.sfp    18 point Script
  764.                         oe18r#us.sfp    18 point Old English
  765.                         he100rpn.usp    10 point Helv
  766.                         he100bpn.usp    10 point Helv bold
  767.                         he100ipn.usp    10 point Helv italic
  768.                         ro100rpn.usp    10 point TmsRmn
  769.                         ro100bpn.usp    10 point TmsRmn bold
  770.                         ro100ipn.usp    10 point TmsRmn italic
  771.  
  772.         HPSOFT      (*) large.sfp       6 pitch Line Printer
  773.                     (*) largehlw.sfp    6 pitch Line Printer
  774.                     (*) tiny.sfp        23 pitch Line Printer
  775.         LEADERS         leaders.sfp     15 point Leaders
  776.  
  777.         LJBOOK23        bold18.usl      19 pitch Landscape Letter Gothic
  778.  
  779.         LJTR_SYM        symbol08.sfp    8 point TmsRmn Symbols
  780.                         symbol10.sfp    10 point TmsRmn Symbols
  781.                         symbol12.sfp    12 point TmsRmn Symbols
  782.                         symsub14.sfp    14 point TmsRmn Symbols
  783.                         symsub18.sfp    18 point TmsRmn Symbols
  784.                         symsub24.sfp    24 point TmsRmn Symbols
  785.  
  786.         OPTGLX          opt10rb0.usp    10 point Optima
  787.                         opt10bb5.usp    10 point Optima bold
  788.                         opt10ib0.usp    10 point Optima italic
  789.                         opt12rb0.usp    12 point Optima
  790.                         opt12bb5.usp    12 point Optima bold
  791.                         opt12ib0.usp    12 point Optima italic
  792.                         opt18rb0.usp    18 point Optima
  793.                         opt24rb0.usp    24 point Optima
  794.  
  795.         ROMANFIX    (*) rf100rpn.usp    10 pitch Roman Fixed
  796.  
  797.         SCRIPT10        sc100rpn.usp    10 point Script
  798.  
  799.         SWFTE           abbey18.sfp     18 point Abbey
  800.                         amrtyp18.sfp    18 point Amertype
  801.                         avanti18.sfp    18 point Avant Garde
  802.                         basque18.sfp    18 point Basque
  803.                         beget18.sfp     18 point Beget bold
  804.                         bigcty18.sfp    18 point Big City
  805.                         centrm18.sfp    18 point Century Schoolbook
  806.                         chan18.sfp      18 point Chancelor
  807.                         chan24ob.sfp    24 point Chancelor bold italic
  808.                         coop18.sfp      18 point Coop
  809.                         cour18.sfp      4 pitch Courier
  810.                         galaxy18.sfp    18 point Galaxy
  811.                         garmet18.sfp    18 point Garamond
  812.                         gillie18.sfp    18 point Gillie bold
  813.                         helv10.sfp      10 point Helv
  814.                         helv14c.sfp     14 point Helv compressed
  815.                         helv18.sfp      18 point Helv
  816.                         helv24st.sfp    24 point Helv stripy bold
  817.                         ltgoth18.sfp    4 pitch Letter Gothic
  818.                         olivia18.sfp    18 point Olivia light
  819.                         optims18.sfp    18 point Optima
  820.                         orna18.sfp      18 point Ornamental
  821.                         palatn18.sfp    18 point Palatine
  822.                         prestg18.sfp    4 pitch Prestige
  823.                         rock18.sfp      18 point Rockland
  824.                         roman18.sfp     18 point TmsRmn
  825.                         romani18.sfp    18 point TmsRmn italics
  826.                         romn10.sfp      10 point TmsRmn
  827.                         romn18cb.sfp    18 point TmsRmn bold compressed
  828.                         symbol18.sfp    4 pitch Courier Symbols
  829.  
  830.         SYMBOL10        cs100rpn.usp    10 point Computer Symbols
  831.                         dg100rpn.usp    10 point Dingbats
  832.  
  833.         RMFONTS         rm12.fnt        12 point TmsRmn
  834.                         rmi12.fnt       12 point TmsRmn italic
  835.                         rb12.fnt        12 point TmsRmn bold
  836.                         rbi12.fn        12 point TmsRmn bold italic
  837.                         rbx12.fnt       12 point TmsRmn bold expanded
  838.  
  839.         Appendix C. Acknowledgments
  840.         ----------------------------
  841.  
  842.         Thanks are due to the following for their contributions to
  843.         JETPAK during its development:
  844.  
  845.           Ross Alford
  846.           John Cleaver
  847.           Dick Grune
  848.           Roy Harris
  849.           John Newgas
  850.  
  851.  
  852.         Appendix D. JETPAK Release History
  853.         ----------------------------------
  854.  
  855.         JETPAK11: Version 1.1 - 4th August 1991
  856.  
  857.           This is the second major release of JETPAK for the MS-DOS
  858.           platform. It will be distributed worldwide via SIMTEL, the
  859.       comp.binaries.ibm.pc Usenet group, and directly to UK
  860.       bulletin boards.
  861.  
  862.           The following major enhancements were made:
  863.  
  864.             JETL2D can now create DJ500 output fonts (mainly to take
  865.             advantage of negative kerning on the DeskJet 500)
  866.  
  867.             JETL2D can now smooth the DJ bitmap outlines, taking
  868.             advantage of the increased resolution (600x300) possible
  869.             on all the DeskJet range printers
  870.  
  871.             JETD2L was added, allowing DeskJet soft fonts to be
  872.             converted back into LaserJet format
  873.  
  874.           With this release, I have completed the package to my own
  875.           satisfaction: this is why I am placing it in the public
  876.           domain. The full sources are being distributed as JPSRC11.
  877.  
  878.           I will be interested to hear from users or developers of the
  879.           product by email (rberesfo@cix.compulink.co.uk). However, I
  880.           am not expecting to do any more work on the product myself.
  881.  
  882.  
  883.         JPBIN106: Version 1.06 - 14th July 1991
  884.  
  885.           Beta Test version for release 1.1
  886.  
  887.  
  888.         JPBIN105: Version 1.05 - 26th May 1991
  889.  
  890.           Alpha Test version for release 1.1
  891.  
  892.  
  893.         JETPAK10: Version 1.0 - 1st October 1990
  894.  
  895.           This is the first full release of JETPAK for the MS-DOS
  896.           platform. It will be distributed worldwide via the
  897.           comp.binaries.ibm.pc group over Usenet, and directly to UK
  898.           bulletin boards.
  899.  
  900.           The following major enhancements were made:
  901.  
  902.             Support for multiple file processing and wildcard matching
  903.             was added to all the utilities
  904.  
  905.             Landscape orientation support was added to JETL2D and
  906.             JETPRINT
  907.  
  908.             JETL2D now always sets the output font quality to "Letter
  909.             Quality" so that draft mode works correctly with converted
  910.             soft fonts
  911.  
  912.             JETL2D checks for out-of-range underline parameters in the
  913.             output font, and uses a rule-of-thumb to generate sensible
  914.             values based on the font size
  915.  
  916.             JETPRD was written to generate printer description file
  917.             information for a soft font
  918.  
  919.             JETDMP now creates dump files, rather than outputting to
  920.             the screen
  921.  
  922.             JETRST can be used to compile edited dump files and
  923.             restore the corresponding soft font files
  924.  
  925.  
  926.         JETPAK01: Version 0.1 (beta) - 1st July 1990
  927.  
  928.           This was the first public release of JETPAK for the MS-DOS
  929.           platform. It was distributed to a number of bulletin boards
  930.           in the UK.
  931.